#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
//int main()
//{
//	int b = 100;//在第一个大括号加上b的定义，则b作用域在第一个大括号内定义的地方向后都可使用
//	{
//		int a=10;
//		printf("%d\n", a);//此刻a在第二个大括号里，它属于局部变量，其作用域的范围仅限在第二个大括号定义处向后使用
//	}
//	printf("%d", b);//此时在第二个大括号外面打印a，编译器报错。即说明已经超过了作用域
//	return 0;
//}
//ctrl kc--------注销代码


//全局变量作用域


//声明外部符号
//void test()
//{
//	printf("test-------------> %d\n", a);
//}
//
//int main()
//{
//	printf("%d", a);
//	test();
//    return 0;
//}

//int a = 90;
//int main()//a的生命周期由此开始
//{
//	{
//		int b = 100;//b的生命周期由此开始
//		printf("%d\n", b);//b由此结束
//	}
//	printf("%d", a);
//	return 0;//a由此结束
//}

//int main()
//{
//	const int a = 10;//a是const修饰的常变量，但是本质上a还是变量
//	//此刻a不能被修改，被修改会报错
//	printf("%d\n", a);
//	return 0;
//}


//我们用数组来证明a本质还是一个变量
//int main()
//{
//	int arr[10] = { 0 };
//	const int n = 10;
//	int arr2[n] = { 0 };//n此刻还是个变量
//	return 0;
//}

//#define M 100
//int main()
//{
//	int arr[M] = { 0 };
//	printf("%d\n", M);//用数组来证明#define定义的标识符常量本质是常量不是变量
//	int a = M;//证明M可以像字面常量那样使用
//	printf("%d", a);
//	return 0;
//}


//枚举常量
//枚举：一一列举
//三原色：红色，绿色，蓝色
//性别：男，女，秘密

//自定义类型
//enum枚举关键字
//enum Color
//{
//	//枚举变量
//	RED=7,//初始为0改变成7之后后面枚举常量依次改变
//	GREED,//1
//	BULE,//2
// };
//int main()
//{
//	enum Color c = RED;
//	printf("%d\n", c);
//	printf("%d\n", GREED);
//	printf("%d\n", BULE);
//	return 0;
//}

//enum Sex
//{
//	MALE,
//	FEMALE,//这里“，”注意
//	SECRET
//};//这里加上“；”
//int main()
//{
//	enum Sex s = MALE;
//	enum Sex c = FEMALE;
//	return 0;
//}
//int main()
//{
//	return 0;
//}




//字符串\0的重要性
//字符串是可以存放在字符数组中的
//%s 是打印字符串
//加上strlen的头文件
//#include<string.h>
//int main()
//{
//	char arr1[] = "abc";
//	char arr2[] = { 'a','b','c'};
//	
//	//printf("%s\n", arr1);
//	//printf("%s\n", arr2);
//	//strlen是一个库函数 - 求字符串的长度，统计的是字符串\0之前的字符个数
//	printf("%d\n", strlen(arr1));
//	printf("%d\n", strlen(arr2));
//	return 0;
//}

//int main()
//{
//	printf("C:\\code\\test_6_30\\test.c");//这里的\\是防止转义字符被转义
//	return 0;
//}

//三子母词
//int main()
//{
//	printf("（are you ok??)");//在古老的编译器中会编译成（are you ok]
//	//??)--------]
//	//??(--------[
//	//三字母词
//	printf("(are you ok\?\?)");
//	return 0;
//}

//%d--------十进制的形式打印整形
//%s--------打印字符串
//%c--------打印字符
//int main()
//{
//	printf("%c\n", 'a');
//	printf("%c\n", '\'');
//	printf("%s\n", "c");
//	printf("%s\n", "\"");
//		return 0;
//
//}

//int main()
//{
//	printf("\a");
//	return 0;
//}

//int main()
//{
//	printf("adc\be\n");  //这里的\b是推格的意思相当于Backpace，所以光标退到了c前面，则c没有被打印。
//	return 0;
//}
//int main()
//{
//	printf("%c\n", '\x30');
//	return 0;
//}
//int main()
//{
//	int line = 0;
//	while (line < 30000);
//	{
//		printf("敲代码:%d\n", line);
//		line++;
//	}
//	if (line == 30000);
//	{
//		printf("好offer\n");
//	}
//	return 0;
//}
//#include <stdio.h>
//int num = 10;
//int main()
//{
//    int num = 1;
//    printf("num = %d\n", num);
//    return 0;
//}
//写一个函数求两个整数的较大值
//输入10 20  输出20
//int Choose(int x, int y)//函数定义和函数声明
//{
//	if (x > y)
//		return x;
//	else(x < y);
//		return y;
//}
//int main()
//{
//	int a = 0;
//	int b = 0;
//	int max = 0;
//	scanf("%d %d", &a, &b);
//	max = Choose(a, b);
//	printf("%d\n", max);
//	return 0;
//}
int main()
{
	int a = 0;
	scanf("%d\n", &a);
	if (a % 5 == 0)
	{
		printf("YES\n");
	}
	else(a%5!=0);//有条件限制要加分号！
	{
		printf("NO\n");
	}
	return 0;

}